home *** CD-ROM | disk | FTP | other *** search
/ PC-Blue - MS DOS Public Domain Library / PC-Blue MS-DOS Public Domain Library - NYACC.iso / vol033 / jdate.bas < prev    next >
Encoding:
BASIC Source File  |  1987-01-11  |  1.3 KB  |  33 lines

  1. 6900 OPTION BASE 1: CLS
  2. 6910 DEFINT I,J,M:  RRR=0
  3. 6920 PRINT:PRINT
  4. 6930 INPUT"Enter a date (mm/dd/yy or mm/dd/yyyy)";D$
  5. 6940 GOSUB 7000: PRINT: PRINT JDATE
  6. 6950 GOTO 6920
  7. 7000 REM  SUBROUTINE JDATE
  8. 7010 '    converts DATE (mm/dd/yy) to Julian date
  9. 7020 '    main requires Option Base 1
  10. 7030 '    uses:  variables MONLEN,MM,DD,YY,JDATE,II
  11. 7040 '    input of D$  (uses a DATA statement)
  12. 7050 '
  13. 7060 IF RRR=1 THEN 7100 ELSE DIM MONLEN(12): RRR=1
  14. 7070 FOR II=1 TO 12: READ MONLEN(II): NEXT
  15. 7080 DATA 31,28,31,30,31,30,31,31,30,31,30,31
  16. 7090 '
  17. 7100 II=LEN(D$): JDATE=0: MONLEN(2)=28
  18. 7110 IF II=8 OR II=10 THEN 7130 ELSE 7120
  19. 7120 PRINT: PRINT"...  Improper date format (mm/dd/yy or yyyy)":STOP
  20. 7130 MM=VAL(LEFT$(D$,2)): IF MM>12 OR MM<1 THEN PRINT:PRINT"Invalid month -";MM: STOP
  21. 7140 DD=VAL(MID$(D$,4,2)): IF DD>31 OR DD<1 THEN PRINT:PRINT"Invalid day -";DD: STOP
  22. 7150 IF II=8 THEN YY=VAL(RIGHT$(D$,2)) ELSE YY=VAL(RIGHT$(D$,4))
  23. 7160 IF MM>1 THEN 7170 ELSE 7180
  24. 7170 IF YY/4=INT(YY/4) THEN MONLEN(2)=29
  25. 7180 DD=VAL(MID$(D$,4,2)): IF DD>MONLEN(MM) OR DD<1 THEN PRINT:PRINT"Invalid day -";DD: STOP
  26. 7185 IF MM-1=0 THEN 7210
  27. 7190 FOR II=1 TO (MM-1)
  28. 7200   JDATE=JDATE+MONLEN(II): NEXT II
  29. 7210 JDATE=JDATE+DD
  30. 7220 RETURN
  31. 
  32. 7185 IF MM-1=0 THEN 7210
  33. 7190 FOR